
import java.util.*;
public class javase02 {

    public static void main1(String[] args) {
        //   1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
        int age = 0;
        while (true) {
            Scanner sc = new Scanner(System .in);
            age = sc.nextInt();
            if(age < 18) {
                System.out.println("少年");
            }else if (age >= 19 && age < 28) {
                System.out.println("青年");
            }else if (age >= 29 && age < 55) {
                System.out.println("中年");
            }else  {
                System.out.println("老年");
            }
        }
    }
    public  static Boolean func(int k) {
        if(k < 3) {
            return k > 1;
        }
        for (int i = 2; i <= k/2 ; i++) {
            if(k % i == 0) {
                return false;
            }
        }
        return true;
    }
    // 2. 判定一个数字是否是素数
    public static void main3(String[] args) {
        while (true) {
            Scanner sc  =new Scanner(System.in);
            int k = sc.nextInt();
            Boolean a = func(k);
            System.out.println(a);
        }
    }


//         3. 打印 1 - 100 之间所有的素数
    public static void main4(String[] args) {
        for (int i = 1; i < 101; i++) {
            if(func(i) == true) {
                System.out.println(i);
            }
        }
    }
//        4. 输出 1000 - 2000 之间所有的闰年
     public static boolean isleapyear (int i) {
        if(i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
            return true;
        }
        return false;
     }
     public static void main5(String[] args) {
         for (int i = 1000; i < 2001; i++) {
             if(isleapyear(i) == true) {
                 System.out.println(i);
             }
         }
    }
//        5. 输出乘法口诀表


     public static void main6(String[] args) {
         for (int i = 1; i < 10; i++) {//每行恒定值
             for (int j = 1; j <= i; j++) {//与恒定值相乘的值
                 System.out.print( j + "*" + i + "= "+ i*j);
                 System.out.print(" ");
             }
             System.out.println("");

         }
   }
//        6. 求两个正整数的最大公约数
   public static int findMax (int a, int b) {
        int k = a  % b;
        while (k != 0) {
            a = b;
            b = k;
            k = a  % b;
        }
      return b;
   }
   public static void main7(String[] args) {
      while (true) {
          Scanner sc = new Scanner(System.in);
          int a = sc.nextInt();
          int b = sc.nextInt();
          System.out.println(findMax(a,b));
      }
   }
//        7. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

    public static void main8(String[] args) {
        double ret = 0;
        int k = 1;
        for (double i = 1; i < 101; i++) {
            ret += (1/i)*k;
            k*=-1;
        }
        System.out.println(ret);

    }
//        8. 编写程序数一下 1到 100 的所有整数中出现多少个数字9。
        public static void main9(String[] args) {
            int count =  0;
            for (int i = 1; i < 101; i++) {
                if(i % 10 == 9) {
                    count++;
                }
                if(i / 10 == 9) {
                    count++;
                }
            }
            System.out.println(count);
}
//        9. 求出0～999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本
//        身，如；153＝1＋5＋3?，则153是一个“水仙花数”。)

    public static int cube (int i) {
        int ret = 1;
        for (int j = 0; j < 3; j++) {
            ret *= i;
        }
        return ret;
    }
    public static int sumcube (int num) {
        int sum = 0;
        while(num > 0) {
            sum += cube(num % 10);
            num /= 10;
        }
        return sum;
    }
    public static void main10(String[] args) {
        for (int i = 0; i < 1000; i++) {
            if(i>99 && sumcube(i) == i) {
                System.out.println(i);
            }
        }
    }

// 编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输
// 入，最多输入三次。三次均错，则提示退出程序
public static void main(String[] args) {
    String arr = "123456 ";
    int retry = 3;
    for (int i = 0; i < 3; i++) {
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        if(input.equals(arr)) {
            System.out.println("登录成功");
            break;
        }else {
            retry--;
            System.out.println("输入错误，还有" + retry + "次机会");
        }
    }
    if(retry == 0) {
        System.out.println("次数已经用完，退出程序");
    }
}

//        11. 写一个函数返回参数二进制中 1 的个数 比如： 15 0000 1111 4 个 1
//        12. 获取一个数二进制序列中所有的偶数位和奇数位， 分别输出二进制序列。
//        13. 输出一个整数的每一位.
//        14. 完成猜数字游戏
}
